/**
 * blenlib/DNA_view3d_types.h (mar-2001 nzc)
 *
 * $Id: DNA_view3d_types.java,v 1.1.1.1 2009/07/11 21:54:58 jladere Exp $ 
 *
 * ***** BEGIN GPL LICENSE BLOCK *****
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software Foundation,
 * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
 * All rights reserved.
 *
 * The Original Code is: all of this file.
 *
 * Contributor(s): none yet.
 *
 * ***** END GPL LICENSE BLOCK *****
 */

package blender.makesdna;

//#ifndef DNA_VIEW3D_TYPES_H
//#define DNA_VIEW3D_TYPES_H
//
//struct ViewDepths;
//struct Object;
//struct Image;
//struct Tex;
//struct SpaceLink;
//struct Base;
//struct BoundBox;
//struct RenderInfo;
//struct RetopoViewData;
//struct bGPdata;
//
///* This is needed to not let VC choke on near and far... old
// * proprietary MS extensions... */
//#ifdef WIN32
//#undef near
//#undef far
//#define near clipsta
//#define far clipend
//#endif
//
//#include "DNA_listBase.h"
//#include "DNA_image_types.h"
//

public class View3dTypes {
///* ******************************** */
//
///* The near/far thing is a Win EXCEPTION. Thus, leave near/far in the
// * code, and patch for windows. */
//
///* Background Picture in 3D-View */
//typedef struct BGpic {
//    struct Image *ima;
//	struct ImageUser iuser;
//    float xof, yof, size, zoom, blend;
//    short xim, yim;
//} BGpic;
//
///* ********************************* */
//
///* 3D ViewPort Struct */
//typedef struct View3D {
//	struct SpaceLink *next, *prev;
//	int spacetype;
//	float blockscale;
//	struct ScrArea *area;
//
//	short blockhandler[8];
//
//	float viewmat[4][4];
//	float viewinv[4][4];
//	float persmat[4][4];
//	float persinv[4][4];
//
//	float winmat1[4][4];  // persp(1) storage, for swap matrices
//	float viewmat1[4][4];
//
//	float viewquat[4], dist, zfac;	/* zfac is initgrabz() result */
//	int lay_used; /* used while drawing */
//
//	short persp;
//	short view;
//
//	struct Object *camera, *ob_centre;
//	struct BGpic *bgpic;
//	struct View3D *localvd;
//	struct RenderInfo *ri;
//	struct RetopoViewData *retopo_view_data;
//	struct ViewDepths *depths;
//
//	char ob_centre_bone[32];		/* optional string for armature bone to define center */
//
//	/**
//	 * The drawing mode for the 3d display. Set to OB_WIRE, OB_SOLID,
//	 * OB_SHADED or OB_TEXTURE */
//	short drawtype;
//	short localview;
//	int lay, layact;
//	short scenelock, around, camzoom;
//
//	char pivot_last, pad1; /* pivot_last is for rotating around the last edited element */
//
//	float lens, grid, gridview, pixsize, near, far;
//	float camdx, camdy;		/* camera view offsets, 1.0 = viewplane moves entire width/height */
//	float ofs[3], cursor[3];
//
//	short gridlines, viewbut;
//	short gridflag;
//	short modeselect, menunr, texnr;
//
//	/* transform widget info */
//	short twtype, twmode, twflag, twdrawflag;
//	float twmat[4][4];
//
//	/* user defined clipping planes */
//	float clip[4][4];
//
//	struct BoundBox *clipbb;
//
//	/* afterdraw, for xray & transparent */
//	struct ListBase afterdraw;
//	/* drawflags, denoting state */
//	short zbuf, transp, xray;
//
//	short flag, flag2;
//
//	short gridsubdiv;	/* Number of subdivisions in the grid between each highlighted grid line */
//
//	short keyflags;		/* flags for display of keyframes */
//
//	char ndofmode;	/* mode of transform for 6DOF devices -1 not found, 0 normal, 1 fly, 2 ob transform */
//	char ndoffilter;		/*filter for 6DOF devices 0 normal, 1 dominant */
//
//	void *properties_storage;	/* Nkey panel stores stuff here, not in file */
//	struct bGPdata *gpd;		/* Grease-Pencil Data (annotation layers) */
//
//	/* last view */
//	float lviewquat[4];
//	short lpersp, lview;
//
//	short pad5, pad6;
//} View3D;


/* View3D->flag (short) */
public static final int V3D_DISPIMAGE=		1;
public static final int V3D_DISPBGPICS=		2;
public static final int V3D_HIDE_HELPLINES=	4;
public static final int V3D_INVALID_BACKBUF=	8;
/* deprecated */
public static final int V3D_MODE=			(16+32+64+128+256+512);
//public static final int V3D_DISPIMAGE=		1;
//public static final int V3D_DISPBGPICS=		2;
//public static final int V3D_HIDE_HELPLINES=	4;
//public static final int V3D_NEEDBACKBUFDRAW=8;
public static final int V3D_EDITMODE=		16;
public static final int V3D_VERTEXPAINT=	32;
public static final int V3D_FACESELECT=		64;
public static final int V3D_POSEMODE=		128;
public static final int V3D_TEXTUREPAINT=	256;
public static final int V3D_WEIGHTPAINT=	512;

public static final int V3D_ALIGN=			1024;
public static final int V3D_SELECT_OUTLINE=	2048;
public static final int V3D_ZBUF_SELECT=	4096;
public static final int V3D_GLOBAL_STATS=	8192;
//public static final int V3D_CLIPPING=		16384;
public static final int V3D_DRAW_CENTERS=	32768;

/* RegionView3d->persp */
public static final int RV3D_ORTHO=				0;
public static final int RV3D_PERSP=				1;
public static final int RV3D_CAMOB=				2;

/* RegionView3d->rflag */
public static final int RV3D_FLYMODE=				2;
public static final int RV3D_CLIPPING=				4;

/* RegionView3d->viewlock */
public static final int RV3D_LOCKED=			1;
public static final int RV3D_BOXVIEW=		2;
public static final int RV3D_BOXCLIP=		4;


/* View3d->flag2 (short) */
public static final int V3D_RENDER_OVERRIDE=		4;
public static final int V3D_SOLID_TEX=			8;
public static final int V3D_DISPGP=				16;

/* View3D->around */
public static final int V3D_CENTER=		 0;
public static final int V3D_CENTROID=	 3;
public static final int V3D_CURSOR=		 1;
public static final int V3D_LOCAL=		 2;
public static final int V3D_ACTIVE=		 4;

/*View3D view types*/
public static final int V3D_VIEW_FRONT=		 1;
public static final int V3D_VIEW_BACK=		 2;
public static final int V3D_VIEW_LEFT=		 3;
public static final int V3D_VIEW_RIGHT=		 4;
public static final int V3D_VIEW_TOP=		 5;
public static final int V3D_VIEW_BOTTOM=		 6;
public static final int V3D_VIEW_PERSPORTHO=		 7;
public static final int V3D_VIEW_CAMERA=		 8;
public static final int V3D_VIEW_STEPLEFT=		 9;
public static final int V3D_VIEW_STEPRIGHT=		 10;
public static final int V3D_VIEW_STEPDOWN=		 11;
public static final int V3D_VIEW_STEPUP=		 12;
public static final int V3D_VIEW_PANLEFT=		 13;
public static final int V3D_VIEW_PANRIGHT=		 14;
public static final int V3D_VIEW_PANDOWN=		 15;
public static final int V3D_VIEW_PANUP=		 16;

/* View3d->persp */
public static final int V3D_ORTHO=				0;
public static final int V3D_PERSP=				1;
public static final int V3D_CAMOB=				2;

/* View3d->gridflag */
public static final int V3D_SHOW_FLOOR=			1;
public static final int V3D_SHOW_X=				2;
public static final int V3D_SHOW_Y=				4;
public static final int V3D_SHOW_Z=				8;

/* View3d->twtype (bits, we can combine them) */
public static final int V3D_MANIP_TRANSLATE=	1;
public static final int V3D_MANIP_ROTATE=		2;
public static final int V3D_MANIP_SCALE=		4;

/* View3d->twmode */
public static final int V3D_MANIP_GLOBAL=		0;
public static final int V3D_MANIP_LOCAL=		1;
public static final int V3D_MANIP_NORMAL=		2;
public static final int V3D_MANIP_VIEW=			3;
public static final int V3D_MANIP_GIMBAL=		4;
public static final int V3D_MANIP_CUSTOM=		5;/* anything of value 5 or higher is custom */

/* View3d->twflag */
   /* USE = user setting, DRAW = based on selection */
public static final int V3D_USE_MANIPULATOR=	1;
public static final int V3D_DRAW_MANIPULATOR=	2;
public static final int V3D_CALC_MANIPULATOR=	4;


//#endif
}

